/**
 * Alipay.com Inc.
 * Copyright (c) 2004-2022 All Rights Reserved.
 */
package com.example.spider.proxy.core.distinct;

import org.redisson.RedissonLocalCachedMap;

/**
 * 写前拿锁，与存储同步（redis）
 * 读则只读内存
 * 适合总量比较小的（如 key<1w）且读多写很少，而且允许多个进程节点写入，只增不减，谁都有权写入。key多了占用内存多
 *
 * @see RedissonLocalCachedMap
 *
 * @author lym
 */
public interface PortZipper {

    boolean support(int port);

    /**
     * 将 port 转为 0-64的 int
     */
    int convertPortToSmallByte(int port);

    int recoverPortFromSmallByte(int zipPort);

}